\part{Analisi teorica}

\frame{
	\transboxout
	\partpage
}

\frame{
        \frametitle{Analisi teorica}
	Metodo FEM:
	\begin{itemize}
		\item ordine di convergenza vincolato al grado dei polinomi usati.
	\end{itemize} \pause
	Metodo SM - SEM:
	\begin{itemize}
		\item velocità di convergenza ottimale, vincolata solo alla regolarità della soluzione.
	\end{itemize} \pause
	\begin{block}{Idea:}
		Polinomi \emph{globali} anziché polinomi \emph{a tratti}.
	\end{block}
}


\section{Metodi SM e SEM}

\subsection{Metodo SM}


\frame{
        \frametitle{Metodo SM}
	Consideriamo un generico problema ellittico bi-dimensionale:
	\begin{block}{}
	\[
        \left\{
        \begin{array}{rll}
                Lu &:= -\Div(\mu \nabla u) + \sigma u = f &\quad\textsf{in}\ \varOmega\\[2mm]
		u &= g &\quad\textsf{su}\ \varGamma_D\\[2mm]
                \nabla u \cdot\vec{n}   &= h &\quad\textsf{su}\ \varGamma_N
        \end{array}
        \right.
	\]
	\end{block}
	dove il dominio è $\varOmega \subset \R^2$, con frontiera $\partial\varOmega = \varGamma_D \cup \varGamma_N$, e $\varGamma_D \cap \varGamma_N = \emptyset$.
}


\frame{
        \frametitle{Metodo SM}
	\begin{block}{La formulazione debole del problema è:}
		\begin{displaymath}
        		\textsf{Trovare}\ u \in V \quad : \quad a(u,v) = F(v), \qquad \forall v \in V,
		\end{displaymath}
	\end{block}
	dove $V$ è lo spazio di Hilbert $H^1_{\varGamma_D}(\varOmega)$, così definito:
	\[
        	H^1_{\varGamma_D}(\varOmega) = \left\{ u \in H^1(\varOmega) : u\Big\vert_{\varGamma_D} = 0 \right\},
	\]
	con le forme variazionali:
	\begin{eqnarray*}
	        a(u,v)  &=      &\int_{\varOmega} \mu \nabla u \nabla v + \int_{\varOmega} \sigma uv,\\[2mm]
		F(v)            &=      &\int_{\varOmega}fv + \int_{\varGamma_N} hv.
	\end{eqnarray*}
}


\frame{
        \frametitle{Metodo SM}
	Sia
	\[
	        \Q_N (\varOmega) = \left\{ v(\vec{x}) = \sum_{k,m=0}^N a_{km}\,x_1^k x_2^m, \qquad\textsf{con}\ a_{km} \in \R \right\}.
	\]
	\begin{block}{La formulazione SM del problema è:}
                \[
			\textsf{Trovare}\ u_N \in V_N \quad : \quad a(u_N,v_N) = F(v_N), \qquad \forall v_N \in V_N,
                \]
        \end{block}
	dove lo spazio $V_N$ è definito come:
	\[
		V_N = \left\{ v_N \in \Q_N \quad : \quad v_N \Big\vert_{\varGamma_D} = 0 \right\}.
	\]
}


\subsection{Metodo SEM}


\frame{
        \frametitle{Metodo SM-SEM}
	\begin{alertblock}{Problema}
		La scelta di utilizzare polinomi globali non permette di considerare situazioni in cui la soluzione si annulla solo su una porzione di frontiera.
	\end{alertblock} \pause
	\begin{block}{Soluzione}
		Restringiamoci a un dominio $\varOmega$ costituito dall'unione di quadrilateri $\varOmega_k$, ciascuno dei quali riconducibile al quadrato di riferimento $\hat{\varOmega} = [-1,1]^2$ mediante una trasformazione invertibile $\boldsymbol{\varphi}_k:\hat{\varOmega} \rightarrow \varOmega_k$.\\
		Definiamo lo spazio:
		\[
			V_N^C = \left\{ v_N \in C^0(\overline{\varOmega}) \quad : \quad v_N \Big\vert_{\varOmega_k}\!\! \circ\:\boldsymbol{\varphi}_k \in \Q_N (\hat{\varOmega}) \right\}.
		\]
	\end{block}
}


\frame{
        \frametitle{Metodo SEM}
	\begin{block}{La formulazione SEM del problema è:}
		\[
        		\textsf{Trovare}\ u_N \in V_N^C \quad : \quad a_C(u_N,v_N) = F_C(v_N), \qquad \forall v_N \in V_N^C,
		\]
		dove
		\[
        		a_C(u_N,v_N) = \sum_k a_{\varOmega_k}(u_N,v_N), \qquad F_C(v_N) = \sum_k F_{\varOmega_k}(v_N),
		\]
	\end{block}
	con $a_{\varOmega_k}(\cdot\,,\cdot)$ e $F_{\varOmega_k}(\cdot)$ restrizioni di $a(\cdot\,,\cdot)$ e di $F(\cdot)$ al sottodominio $\varOmega_k$.
}


\subsection{Analisi dei metodi SM e SEM}


\frame{
        \frametitle{Analisi dei metodi SM e SEM}
	I metodi SM e SEM sono versioni particolari del metodo di Galerkin.\\
	L'analisi di stabilità, convergenza e consistenza può essere effettuata con i teoremi ``classici'':
	\begin{itemize}
		\item lemma di Lax-Milgram;
		\item lemma di Céa;
	\end{itemize}
	ottenendo anche le stime \emph{a priori} dell'errore.
}


\frame{
        \frametitle{Analisi dei metodi SM e SEM}
	\begin{alertblock}{Problema}
		Nel caso spettrale, la matrice di stiffness è molto meno sparsa rispetto a quella associata al FEM, a causa della struttura globale dei polinomi utilizzati.\\
		 Questo si traduce in un notevole sforzo computazionale necessario al calcolo della matrice di stiffness e del termine noto.
	\end{alertblock} \pause
	\begin{block}{Soluzione}
		Si utilizzano formule di integrazione numerica di tipo gaussiano, che danno origine ai metodi G-NI e SEM-NI.
	\end{block}
}


\section{Metodi G-NI e MES-NI}

\subsection{Approssimazione polinomiale}

\frame{
        \frametitle{Approssimazione polinomiale}
	Si considera la troncata $N$-esima della serie di Legendre di $f$ sull'intervallo monodimensionale $(-1,1)$, cioè
	\[
        	f_N(x) = \sum_{k=0}^N \hat{f_k}L_k(x).
	\]
	Si dimostra che la serie di Legendre converge alla funzione in norma $L^2(-1,1)$. \pause
	\begin{block}{Vogliamo ottenere una formula di quadratura del tipo:}
		\[
        		\int_{-1}^1 f(x)\,\textsf{d}x \simeq \sum_{i=0}^N \alpha_i f(x_i).
		\]
	\end{block}
}


\frame{
        \frametitle{Formula di quadratura}
	Dopo aver introdotto i nodi di quadratura GLL e i pesi corrispondenti, si ottiene 
	\begin{block}{la formula di quadratura:}
	\[
		\int_{-1}^1 f(x)\,dx \simeq I_N^{GLL} f := \sum_{k=0}^N \alpha_k f(x_k).
	\]
	\end{block} 
	che ha grado di esattezza pari a $2N-1$. \pause
	\begin{itemize}
		\item I nodi GLL coincidono con gli zeri della derivata prima del polinomio di Legendre.
		\item I pesi sono forniti dalla relazione:
		\[
			\alpha_i = \dfrac{2}{N(N+1)} \dfrac{1}{L_N^2(x_i)}.
		\]
	\end{itemize}
}


\frame{
        \frametitle{Generalizzazioni}
	L'estensione al generico intervallo $(a,b)$ è immediata, definendo nodi e pesi come
	\[
		  t_k = \frac{b-a}{2}x_k + \frac{a+b}{2}, \qquad \delta_k = \frac{b-a}{2} \alpha_k.
	\] \pause
	\begin{block}{La formula di quadratura diventa:}
	\[
		\int_a^b f(x)\, \textsf{d}x \simeq \sum_{k=0}^N \delta_k f(t_k).
	\]
	\end{block}
}


\frame{
        \frametitle{Generalizzazioni}
	L'estensione al caso multidimensionale può essere ottenuta attraverso un prodotto tensoriale della griglia dei nodi GLL.
	\begin{block}{}
	\[
		\int_{\hat{\varOmega}} f(x_i,x_j)\,\textsf{d}\varOmega \simeq \sum_{i=0}^N \left(\sum_{j=0}^N f(x_i,x_j)\alpha_j \right)\alpha_i,
	\]
	\end{block}
	dove i punti $\vec{x}_{ij}=(x_i,x_j)$, con $i,j=0,\dots,N$, rappresentano i nodi GLL su $\hat{\varOmega}$, ottenuti tramite prodotto cartesiano dei nodi GLL sull'intervallo monodimensionale.
}


\subsection{Metodo G-NI}


\frame{
        \frametitle{Il metodo G-NI}
	Il metodo G-NI si ottiene approssimando gli integrali all'interno della formulazione SM con le formule di quadratura GLL.\\
	In pratica si sostituisce il prodotto scalare continuo  con il \emph{prodotto scalare discreto} GLL:
	\[
        (f,g)_N = \sum_{i,j=0}^N \alpha_{ij}f(\mathbf{x}_{ij})g(\mathbf{x}_{ij}).
	\] \pause
	\begin{block}{La formulazione G-NI del problema è:}
		\[
		\textsf{Trovare}\ u^*_N \in V_N \quad : \quad a_N(u_N^*,v_N)=F_N(v_N), \qquad \forall v_N \in V_N,
		\]
	\end{block}
	dove $V_N = \{ v \in \Q_N :v \vert_{\varGamma_D} =0\}$, mentre la forma bilineare e il funzionale sono definiti da:
	\begin{eqnarray*}
        		a_N(u,v)        &=      &(\mu \nabla u,\nabla v)_N + (\sigma u,v)_N, \\
        		F_N(v_N)        &=      &(f,v_N)_N + (h,v_N)_N.
	\end{eqnarray*}
}


\subsection{Metodo SEM-NI}


\frame{
        \frametitle{Il metodo SEM-NI}
	\begin{block}{La formulazione SEM-NI del problema è:}
        \[
		\textsf{Trovare}\ u_N \in V_N^C\quad : \quad a_{C,N}(u_N,v_N)=F_{C,N}(v_N), \qquad \forall v_N \in V_N^C,
	\]
	\end{block}
	dove lo spazio $V_N^C$ è ora definito come
	\[
        	V_N^C = \left\{ v_N \in C^0(\overline{\varOmega}) : v_N\Big\vert_{\varOmega_k} \in \Q_N,\ \forall k=1,\dots,M,\ \textsf{e}\ v_N\Big\vert_{\varGamma_D} =0\right\}.
	\] \pause
	Le forme variazionali sono definite come
	\begin{eqnarray*}
        	a_{C,N}(u_N,v_N) &=& \sum_{k} a_{\varOmega_k,N}(u_N,v_N),\\
        	F_{C,N}(v_N) &=& \sum_k F_{\varOmega_k,N}(v_N).
	\end{eqnarray*}
	I termini $a_{\varOmega_k,N}(u_N,v_N)$ e $F_{\varOmega_k,N}(v_N)$ sono ottenuti da $a_{\varOmega_k}(u_N,v_N)$ e $F_{\varOmega_k}(v_N)$ approssimando ogni integrale con la corrispondente formula di integrazione numerica GLL.
}


\subsection{Analisi dei metodi G-NI e SEM-NI}


\frame{
        \frametitle{Analisi dei metodi G-NI e SEM-NI}
	I metodi G-NI e SEM-NI non fanno parte dei metodi di Galerkin ``classici'', ma piuttosto dei metodi di Galerkin \emph{generalizzati}.
	\begin{itemize}
		\item Lemmi di Lax-Milgram e Céa non più applicabili.
		\item Analisi effettuate attraverso i risultati del Lemma di Strang.
	\end{itemize} \pause
	\begin{alertblock}{Lemma di Strang}
	\begin{itemize}
		\item esistenza della soluzione;
		\item unicità della soluzione;
		\item dipendenza continua dai dati;
		\item stima a priori dell'errore.
	\end{itemize}
	\end{alertblock}
}


\section{Problemi di evoluzione}

\subsection{Problemi parabolici}


\frame{
        \frametitle{Problemi parabolici}
	Sia $\varOmega \subset \R^2$ un dominio (aperto connesso) limitato, $T\in(0,+\infty)$ un numero strettamente positivo, e consideriamo il cilindro spazio-temporale $Q_T = \varOmega \times (0,T)$.\\
	Vogliamo determinare una soluzione $u$ dell'equazione parabolica
	\[
        	\Deriv{}{u}{t} + Lu = f, \qquad \textrm{in\ } Q_T
	\] \pause
che soddisfi la condizione iniziale di Cauchy
	\[
        	u(\vec{x},0) = u_0(\vec{x}),
	\] \pause
	unitamente alle condizioni al contorno, ad esempio,
	\[
        	\left\{
        	\begin{array}{ll}
                	u(\vec{x},t) = \varphi(\vec{x},t)                               &\qquad\textrm{per\ }\vec{x}\in\varGamma_D,\quad t>0\\[1mm]
	                \nabla u(\vec{x},t)\cdot\vec{n} = \psi(\vec{x},t)       &\qquad\textrm{per\ }\vec{x}\in\varGamma_N,\quad t>0
        	\end{array}
        	\right.
	\]
	dove $\varphi$ e $\psi$ sono funzioni assegnate, e $\varGamma_D \cup \varGamma_N = \partial \varOmega$, con $\varGamma_D \cap \varGamma_N = \emptyset$.
}


\frame{
        \frametitle{Problemi parabolici}
	\begin{block}{La formulazione G-NI diventa:}
		\[
		\begin{array}{c}
                	\textsf{Trovare}\ u^*_N(t) \in V_N:\\[1mm]
                	\displaystyle{\int_{\varOmega}} \Deriv{}{u^*_N(t)}{t}v_N\,\textsf{d}\varOmega + a_N\left(u^*_N(t),v_N\right) = F_N(v_N), \qquad \forall v_N \in V_N.
        	\end{array}
		\]
	\end{block}
	Scegliendo come funzione test proprio l'approssimazione numerica della soluzione, si ottengono i risultati di stabilità e convergenza.
}


\frame{
        \frametitle{Analisi di stabilità e convergenza}
	\begin{block}{Stabilità}
		Sfruttando la proprietà di coercività debole e la disuguaglianza di Young si ottiene:
		\[
			\Vert u^*_N(t) \Vert_{L^2(\varOmega)}^2 + \alpha\int_0^T\Vert u^*_N(t) \Vert_V^2\,\textsf{d}t \leq \Vert u_{0N} \Vert_{L^2(\varOmega)}^2 + C\int_0^T\Vert f(t) \Vert^2\,\textsf{d}t.
		\]
	\end{block} \pause
	\begin{block}{Convergenza}
		Si ottiene la stima:
		\[
	        \begin{array}{c}
                	\Vert e(t) \Vert_{L^2(\varOmega)}^2 + \alpha\displaystyle{\int_0^T\Vert e(t) \Vert_V^2\,\textsf{d}t}\leq \Vert e(0) \Vert_{L^2(\varOmega)}^2 +\\[4mm]
	+ C \left[ \displaystyle{\int_0^T \Vert(u_t-R_Nu_t)(t)\Vert_{V'}^2\,\textsf{d}t} + \displaystyle{\int_0^T \Vert (u-R_Nu)(t)\Vert_{V}^2\,\textsf{d}t}\right].
        	\end{array}
		\]
	\end{block}
}


\frame{
        \frametitle{Formulazione algebrica}
	La formulazione algebrica del problema può essere ottenuta definendo i termini di 
	\begin{block}{}
	\[
		\sum_{j=0}^N u'_j(t) \underbrace{\int_{\varOmega} \psi_j \psi_i\,\textsf{d}\varOmega}_{m_{ij}} + \sum_{j=0}^N u_j(t) \underbrace{a_N(\psi_j,\psi_i)}_{a_{ij}} = \underbrace{F_N(\psi_i)}_{f_i(t)}, \qquad i=0,\dots,N.
	\] 
	\end{block} \pause
	\begin{itemize}
		\item vettore delle incognite $\vec{u} = [u_1(t),\dots,u_N(t)]^T$, 
		\item matrice di massa $\M=[m_{ij}]$, 
		\item matrice di stiffness $\A=[a_{ij}]$, 
		\item vettore dei termini noti $\vec{f}=[f_1(t),\dots,f_N(t)]^T$.
	\end{itemize} \pause
	\begin{alertblock}{Quindi:}
		\[
        		\M \vec{u}'(t) + \A\vec{u}(t) = \vec{f}(t).
		\]
	\end{alertblock}
}


\subsection{$\vartheta$-metodo}


\frame{
        \frametitle{Il $\vartheta$-metodo}
	\begin{itemize}
		\item La derivata temporale viene discretizzata con un rapporto incrementale.
		\item Gli altri termini sono sostituiti da una combinazione lineare convessa.
	\end{itemize}
	\begin{block}{Così si ottiene}
	\[
		\M \dfrac{\vec{u}^{k+1}-\vec{u}^k}{\Delta t}+\A[\vartheta\vec{u}^{k+1}+(1-\vartheta)\vec{u}^k]=\vartheta \vec{f}^{k+1}+(1-\vartheta)\vec{f}^k.
	\]
	\end{block}
	Per specifici valori di $\vartheta$, si hanno diversi metodi:
	\begin{itemize}
		\item $\vartheta = 0$ : Eulero Esplicito;
		\item $\vartheta = 1/2$ : Crank-Nicolson;
		\item $\vartheta = 1$ : Eulero Implicito.
	\end{itemize}
}
